'''
Created on 30/05/2014

@author: Vitor, Monique
'''

'''
Esta função serve apenas para criar uma lista com apenas os atributos escolhidos para análise no neuronio
e retorna como segundo retorno, uma lista dos yDesejados

listaAtributos = lista de listas que possuem todos os atributos dos animais
atributosEscolhidos = lista com as posiçoes dos atributos que foram escolhidos para entradas da rede neural
'''
def escolheEntradas(listaAtributos, atributosEscolhidos = [0,1,2,3,5,6,7,8,10,11,15]):
    novaLista = [None]*len(listaAtributos)
    yDesejado = [None]*len(listaAtributos)
    
    for i in range(len(novaLista)):
        novaLista[i] = [None]*len(atributosEscolhidos)
        for j in range(len(novaLista[i])):
            novaLista[i][j] = listaAtributos[i][atributosEscolhidos[j]]
        yDesejado[i] = int(listaAtributos[i][len(listaAtributos[i]) - 1])
    
    #print("\nLista de Atributos Escolhidos:")
    #for j in range(len(novaLista)):
    #    print(novaLista[j])
        
    #print("\nLista de yDesejados:")
    #print(yDesejado)
    
    return novaLista, yDesejado

'''
Esta função lê o arquivo com os dados dos animais no path apresentado e retorna uma string com estes animais
'''
def lerAnimais(pathArquivo):
    animais = open(pathArquivo)
    #print(animais)
    texto = animais.readlines()
    #print(texto)
    
    return texto


'''
Esta função retorna uma matriz com todos os dados disponíveis no arquivo

listaAnimais = lista de Strings que contém os atributos de cada animal separados por vírgula

Obs.: Primeiro Atributo = Nome do Animal, Último Atributo = Mamífero ou Não(1, 0 respectivamente)
'''
def separaAtributos(listaAnimais):
    listaAtributos = [None]*len(listaAnimais)
    i = 0
    while i < len(listaAnimais):
        listaAtributos[i] = listaAnimais[i].split(',')
        listaAtributos[i][-1] = listaAtributos[i][-1].strip()
        i = i + 1
        
    #print("\nLista de todos os Atributos:")
    #for j in range(len(listaAtributos)):
    #    print(listaAtributos[j])

    return listaAtributos